package cmm;

public interface ITrainingContext extends ITaskContext {

	/**
	 * This method overloads Object.clone(). 
	 * It should recursively clone the TaskContext, and return
	 * a clone of this TaskContext. The clone should not have any 
	 * references in common with the original instance.
	 * 
	 * @return The clone TaskContext
	 * @throws CloneNotSupportedException - Object cannot be cloned
	 */
	public TrainingContext clone() throws CloneNotSupportedException;
	
	/**
	 * Put the Name of the trainee server. 
	 * 
	 * @param traineeName
	 */
	public void setTraineeName(String traineeName);
	
	/**
	 * Get the Name of the trainee server.
	 * 
	 * @return
	 */
	public String getTraineeName();
	
	/**
	 * Put the ID of the last task that the trainee server has been trained for.
	 * 
	 * @param LastTaskID
	 */
	public void setLastTrainedTaskID(Integer LastTaskID);
	
	/**
	 * Get the ID of the last task that the trainee server has been trained for.
	 * 
	 * @return
	 */
	public Integer getLastTrainedTaskID();
}
